Since its invention in the mid-sixties, the Viterbi algorithm (VA) has been a very efficient method for data detection in communication and storage systems. The Soft-Output Viterbi Algorithm (SOVA) is a modification of the VA that gives the most likely path sequence in the trellis as well as the “a posteriori” probability for each transmitted bit. Similar a posteriori probabilities (soft outputs) are also given by the BCJR (Bahl, Cocke, Jelinek and Raviv) algorithms which are widely known in the art. These algorithms, when combined with a soft decoding scheme for convolutional modulation codes, form efficient iterative “turbo” decoding schemes. Both SOVA and BCJR can be used in the Partial Response (PR) channels that exist in many communication and storage systems. Although the Bit Error Rates (BERs) of such schemes approach record low levels, the complexity of their implementation and the time delays involved pose serious problems.
It was discovered that in additive Gaussian noise channels the long Gallager codes can achieve near optimal performance. In the past few years several low density parity check codes (LDPCs) have been designed with performances very close to the theoretical limit. Also, a significant insight into iterative decoding has been gained due to interpretation of Message Passing Algorithm (MPA) in terms of belief propagation in graphical models. A graphical model that uses message passing terminology was introduced. Despite this tremendous progress, the code complexity issues were left aside. Although the considerations related to high capacity, speed and error performance are important, the complexity factors tend to dominate system architecture and design considerations, especially in extremely high speed applications such as magnetic recording.
Iterative decoders proposed in the art have been of very high complexity, and are believed to be incapable of operating in the faster than 1 Gbps regime—a speed common in current magnetic recording read channels. The high complexity of the proposed schemes is a direct consequence of the fact that, in random codes, a large amount of information is necessary to specify positions of the nonzero elements in a parity check matrix. The application of LDPCs in magnetic recording has been an active research area during the past several years. The results of several studies have been recently reported and several schemes based on random codes have been proposed. However, these schemes have not offered sufficient coding gains to justify the increase in encoder/decoder complexity which would be required.
A first difficulty in designing a code for magnetic recording is the fact that the code rate must be high (8/9 or higher), because it is practically impossible to compensate for a rate loss by any improved detection technique of reasonable complexity, especially at high recording densities. A second limiting factor is thermal asperities. A thermal asperity occurs when, for example, a read head hits a dust particle on the disc. A Thermal asperity can produce a burst of errors having a length that cannot be corrected even by a very powerful code, in which case a sector read retry must be performed.
A traditional method of coping with thermal asperities is to use a high rate error event detecting block code concatenated with the Reed-Solomon (RS) code. An alternative is to replace the RS code with the longer iteratively decodable code, but no results with realistic channel models have been reported so far.
A method of overcoming the aforementioned problems would be a significant improvement in the art.